
// 引入naive-ui 组件
import { createDiscreteApi } from 'naive-ui'

export default defineNuxtPlugin(nuxtApp => {

    // 创建 loadingBar-实例
    const { loadingBar } = createDiscreteApi(['loadingBar'])
    
    // 在 Suspense 挂起事件上调用。 (服务器端和客户端)
    nuxtApp.hook('page:start',(event)=>{
        loadingBar.start()
        // console.log('page:start');
    })

    // 在 Suspense 解析事件上调用。 (服务器端和客户端)
    nuxtApp.hook('page:finish',(event)=>{
        loadingBar.finish()
        // console.log('page:finish');
    })

    // 在发生致命错误时调用。 (服务器端和客户端)
    nuxtApp.hook('app:error',(event)=>{
        loadingBar.error()
        // console.log('app:error');
    })

    // 当 vue 错误传播到根组件时调用。(服务器端和客户端)
    nuxtApp.hook('vue:error',(event)=>{
        loadingBar.error()
        // console.log('vue:error');
    })

  
  })